How unicast works
Unicasting is a method of transmitting a single stream of data to a single . Unicast delivery provides each client with an individual stream from the server. Clients that receive content through unicast delivery can connect to the server using any of the supported connection protocols.
Once the client has connected to the server, the content can be delivered through either the or the Transmission Control Protocol (TCP). The difference between these two protocols is how clients acknowledge the receipt of data packets.
If a UDP delivery method is used, such as MMSU or RTSPU, the server does not have to receive verification that a data was successfully received before transmitting another data packet. This method works best for streaming. If the client does not receive a packet, it can request that the server resend the missing data packet. This is known as a UDP resend request. When the server receives a request for a UDP resend, it checks its buffer to see if it still has the data available. If it does, the data is resent to the client. If it does not, the server cannot fulfill the request. The client can withstand some packet loss and can continue to render content even after an unsuccessful UDP resend request.
If a TCP delivery method is used, such as HTTP, MMST or RTSPT, the server must wait for the client to acknowledge a successful receipt of a data packet before it can send another. If the data packet is lost, the server must resend it before continuing with the data transmission. This method works best for connections between platform components, such as encoders, cache/proxy servers, and , because it maintains the highest quality stream.
By default, Windows Media Services determines the optimum packet size for streaming based on the content. If you are streaming content over a unicast connection by using the RTSP protocol and are experiencing a high amount of packet loss or fragmentation, you may want to set a specific unicast packet size for your server by using the properties sheet of the WMS Unicast Data Writer plug-in. When determining the correct packet size for your server, consider the following:
- If the packet size exceeds the capacity of the router that is forwarding it to the client, the packet is fragmented by the router, and then the fragments are sent to the client. When all of the packets are received by the client, they are reassembled into the original packet. This can result in a high amount of packet loss because the loss of any one of the fragments will result in the entire packet being lost.
- Each packet sent by the server has an additional requirement in order to transfer header information, such as the control protocol, stream format, and server address. Sending out a large number of small packets can result in a large increase in bandwidth use.
- Each resend requires the same amount of bandwidth and time to send as the original data packet.
- Different audiences can support varying packet sizes. Optimize your packet size for your target audience.
- When using UDP with the RTSP protocol (RTSPU), setting the RTP packet size to too small a small value may prevent the Windows Media server from being able to stream.
Related topics
© 2000-2003 Microsoft Corporation. All rights reserved.